package Catedras;

public class Horario {
	Dia dia;
	Hora horaComienzo;
	Hora horaFin;
	
	public enum Dia{
		LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO
	}
	
	public Horario(Dia dia,Hora horaComienzo,Hora horaFin) {
		this.dia = dia;
		this.horaComienzo = horaComienzo;
		this.horaFin = horaFin;
	}
	/**
	 *   
	 * @param horario
	 * @return true si es menor y no se superpone al Horario que se pasa por 
	 * parametro sin tener en cuenta el Dia.  
	 */
	public boolean menor(Horario horario){
		return this.horaFin.menor(horario.getHoraComienzo());
	}
	
	/**
	 * 
	 * @param horario
	 * @return true si es mayor y no se superpone al Horario que se pasa por 
	 * parametro sin tener en cuenta el Dia 
	 */
	public boolean mayor(Horario horario){
		return this.horaComienzo.mayor(horario.getHoraFin());
	}
	
	/**
	 * 
	 * @param horario
	 * @return true si se superpo con el Horario que se pasa por parametro
	 */
	public boolean seSuperpone(Horario horario){		
		if(this.dia == horario.dia)
			return !(this.menor(horario) || this.mayor(horario));	
		return false;
	}
	

	//Getters
	public Hora getHoraComienzo() {
		return horaComienzo;
	}
	public Hora getHoraFin() {
		return horaFin;
	}
	

	
	

}
